El problema: Clusterizar diseƱos

ĀæComo hago para clasificar estilos de banners?

Input data

  • y : Distancia desde arriba

  • x : Distancia desde la izquierda

  • w : Ancho (width)

  • h : Alto (height)

Estrategia 1:

  • Reduccion de dimensionalidad + Clustering
library(umap)
library(dbscan)
umap_data<- umap(data)
cl <-hdbscan(x = umap_data, minPts = 3)

  • Se puede ver un grupo diferenciado, pero los demas no estan tan claros.

  • Al separar en diferentes carpetas los archivos de cada cluster generado, los diseƱadores no estaban conformes, habia diseƱos distintos que habian sido clasificados como similares

”Es necesario transformar los datos!

Opciones:

  • Estandarizacion (z-score): Representa el numero de desvios estandar arriba o debajo del valor resultante. Útil para variables normalmente distribuidas

  • Normalizacion (min-max scaler): Permite llevar los valores entre 0 y 1. Útil para comparar variables de diferentes ordenes de magnitud (Precio de una casa y los m2 que ocupa)

##

ĀæQue tienen en comun?

  • En ambos casos las variables no estan necesariamente interrelacionadas entre si.
  • Cada variable es una variable real.

MinMax Scaler:

\[x' = {{x - min(x)} \over max(x)- min(x)}.\]

  • Preserva la forma de la distribucion
  • Es util para hacer que los datos esten en un rango entre [0,1]
  • Representa la proporcion del rango de cada punto respecto al rango de valores que toma la variable

Normalizacion

\[x' = {{x - mean(x)} \over max(x)- min(x)}.\]

  • Transforma las observaciones para que puedan ser descriptas como una distribucion Normal
  • Es util para hacer que los datos esten en un rango entre [0,1]
  • Representa la proporcion de la distancia a la media de cada punto respecto al rango de valores que toma la variable

ĀæQue tienen en comun?

  • En ambos casos las variables no estan necesariamente interrelacionadas entre si.
  • Cada variable es una variable real.

ĀæQue hacer con variables complejas?

\[ z = x + i*y \]

  • ĀæComo hacer que las variables esten entre [0,1]
  • La normalizacion o la minmax, me hacian perder tangibilidad de los datos. Esto es, deje de poder entender que significaba lo que estaba viendo.
  • Los datos, ademas de coordenadas, describen dimensiones
    • [x,y,h,w] donde:
      • [x,y] describen la posicion
      • [h,w] describen el tamaƱo (heigth, width)

Normalizacion “geometrica”

\[x' = {{max(x)-x} \over max(x)} \]

  • x’ es la proporcion de x respecto al rango total (ancho del canvas)

\[y' = {{max(y)-y} \over max(y)} \]

  • y’ es la proporcion de y respecto al rango total (alto del canvas)

\[areaRelativa = {{h*w} \over x*y} \]

  • areaRelativa es la proporcion del area del elemento respecto al total

\[posicion = {{h} \over w} \]

  • posicion es para saber si el elemento es horizontal(<1), vertical(>1), o cuadrado(=1)

Resultados